package com.weavernorth.create;

import com.weavernorth.util.Logger4jUtil;
import net.sf.json.JSONObject;
import org.apache.commons.logging.Log;
import org.apache.log4j.Logger;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.interfaces.schedule.BaseCronJob;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class TimeResume  extends BaseCronJob {
//    private static Log log = org.apache.commons.logging.LogFactory.getLog(TimeResume.class.getName());
private Logger log = Logger4jUtil.getLoggerByName("/Timmer/CreateResumeFlow/");
    @Override
    public void execute(){
//        BaseBean bb =new BaseBean();
        log.info("进入定时任务");
        //调用方法
        createFlow();
    }
    public void createFlow(){
        BaseBean bb =new BaseBean();
        log.info("进入定时任务");
        //获取token值
        GetToken getToken = new GetToken();
        String strToken = Util.null2String(getToken.getToken());
        log.info("已经获取到的token："+strToken);
        //传入sendPost的参数
        JSONObject jsonObject =  new JSONObject();
        //获取配置表中的数据
        String strNumber = Util.null2String(bb.getPropValue("porturl","number"));
        String strType = Util.null2String(bb.getPropValue("porturl","type"));
        //OfferStatus状态：1-准备中，2-编辑完成，3-审核中，4-审核驳回，5-审核通过，6-已发送
        String strOfferStatus = Util.null2String(bb.getPropValue("porturl","offerStatus"));
        log.info("number的值："+strNumber);
        log.info("type的值："+strType);
        log.info("OfferStatus状态："+strOfferStatus);
        jsonObject.put("rowSize",strNumber);
        jsonObject.put("cType",strType);
        jsonObject.put("offerStatus",strOfferStatus);
        //获取接口url
        String offerUrl=Util.null2String(bb.getPropValue("porturl","offerurl"));
        log.info("接口offerurl的值"+offerUrl);
        //传入sendPost的参数
        String strCode = "UTF-8";
        //调用方法
        try {
            String strResult=   GetToken.sendPost(offerUrl,jsonObject,strCode,strToken);
            log.info("接口返回的数据："+strResult.toString());
//            bb.writeLog("返回值="+strResult);
            //返回值转为json格式
            JSONObject jsonDatas = JSONObject.fromObject(strResult);
            JSONObject jsonData=JSONObject.fromObject(jsonDatas.get("data"));
            log.info("大易的数据："+jsonData);
            log.info("取到data中的code:"+jsonData.get("code"));
            //返回值：0代表有未传递的数据
            String getCode = Util.null2String(jsonData.get("code"));
            log.info("返回值code："+getCode);
            //如果code为0，有未传递的数据继续发送
            if("0".equals(getCode)){
                CreateResumeFlow crf = new CreateResumeFlow();
                crf.createResumeFlow(jsonData);
                //递归循环方法，直到没有未发送的数据
                createFlow();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }






}
